use std::path::Path;

fn main() {
    let src_dir = Path::new("src");
    let parser_path = src_dir.join("parser.c");
    let scanner_path = src_dir.join("scanner.c");

    let mut c_config = cc::Build::new();
    c_config.include(src_dir);
    c_config.flag_if_supported("-Wno-unused-parameter");
    c_config.flag_if_supported("-Wno-unused-but-set-variable");
    c_config.flag_if_supported("-Wno-trigraphs");
    
    if parser_path.exists() {
        c_config.file(&parser_path);
    } else {
        panic!("parser.c does not exist, run `tree-sitter generate` first");
    }

    if scanner_path.exists() {
        c_config.file(&scanner_path);
    }

    c_config.compile("tree-sitter-dpml");
}
